#include <stdio.h>
#include <stdlib.h>
#include <math.h>

void swap(int &a, int &b)
{
	int c = a;
	a = b;
	b = c;
}

int gcd(int a, int b)
{
	if (a < b)
		swap(a, b);
	if (a % b == 0)
		return b;
	else
		return gcd(b, a % b);
}

int main()
{
	int n;

	int i, j, count;

	scanf("%d", &n);

	while (n != 0)
	{
		count = 0;

		int *data = (int *)malloc(n * sizeof(int));

		for (i = 0; i < n; i++)
		{
			scanf("%d", &data[i]);
		}

		for (i = 0; i < n; i++)
			for (j = i + 1; j < n; j++)
			{
				if (gcd(data[i], data[j]) == 1)
					count++;
			}

		if (count == 0)
			printf("No estimate for this data set.\n");
		else
			printf("%.6f\n", sqrt((double)3 * n * (n - 1) / count));

		scanf("%d", &n);
	}
	return 0;
}